import tkinter as tk
import random

# 肌电 API 关键是微电极与步进电机的对应，有时候还会调整步进电机默认的角度，
# 假设这里只有五个手指的肌电 API，如下所示：
API = {
    '大拇指': ['电机1', 90],
    '食指': ['电机2', 20],
    '中指': ['电机3', -10],
    '无名指': ['电机4', 0],
    '小拇指': ['电机5', 30]
}

# 创建主窗口
root = tk.Tk()
root.title("智能手臂信号处理")

# 创建标签
label = tk.Label(root, text="智能手臂信号处理")
label.pack(pady=10)

# 创建表格框架
table_frame = tk.Frame(root)
table_frame.pack()

# 创建表头
headers = ["大拇指", "食指", "中指", "无名指", "小拇指"]
header_labels = []
# 创建标签并绘图
for header in headers:
    label = tk.Label(table_frame, text=header, width=10, relief=tk.RIDGE, borderwidth=1)
    label.grid(row=0, column=len(header_labels))
    header_labels.append(label)

# 创建电机状态标签
motor_labels = []
for i in range(len(headers)):
    label = tk.Label(table_frame, width=10, relief=tk.RIDGE, borderwidth=1)
    label.grid(row=1, column=i)
    motor_labels.append(label)
# 接收信号指令
def com():
    # 这里利用随机数模拟接收到的信号
    for key in API:
        is_open = random.random() > 0.5
        index = headers.index(key)
        if is_open:
            motor_labels[index].config(bg="black", fg="white")
        else:
            motor_labels[index].config(bg="white", fg="black")
    # 每秒钟接收一次信号
    root.after(1000, com)

# 启动信号接收函数
com()

# 运行主循环
root.mainloop()